Skip to content

在这个 Spring Boot 项目中,关键的性能参数通常定义在 dependencies 配置文件(如 application.ymlapplication.properties)或者 配置中心(如 Nacos、Apollo)中。

以下是具体的查找方法和搜索关键词:

1. Tomcat 连接数 (Web容器)

Spring Boot 默认使用 Embed Tomcat 作为 Web 容器。通常在 damai-server 或各个微服务的 application.yml 中配置。

  • 如何查找:全局搜索 (Ctrl+Shift+F)
  • 搜索关键词
    • server.tomcat.threads.max:最大工作线程数(默认 200)
    • server.tomcat.max-connections:最大连接数(默认 8192)
    • server.tomcat.accept-count:最大排队数(默认 100)

2. 数据库连接数 (MySQL/MyBatis Plus)

代码中使用了 MyBatis Plus,国内项目通常搭配 Druid 或 Spring Boot 默认的 HikariCP 连接池。

  • 如何查找
    • 如果使用 Druid
      • 搜索 spring.datasource.druid.max-active (最大连接数)
      • 搜索 initial-size (初始化连接数)
    • 如果使用 HikariCP
      • 搜索 spring.datasource.hikari.maximum-pool-size (默认 10)
  • 代码线索:虽然 ProgramService 未直接体现,可查看 ProgramMapper 对应的配置文件或通用配置模块。

3. Redis 连接数 (Redis & Redisson)

代码逻辑中非常频繁地使用了 Redis 和 Redisson(用于分布式锁)。

  • 如何查找
    • Spring Data Redis (Lettuce)
      • 搜索 spring.redis.lettuce.pool.max-active (最大连接数,默认 8)
    • Redisson (分布式锁)
      • 搜索 spring.redis.redisson
      • 查找项目中是否存在 redisson.ymlredisson.yaml 文件
      • 重点查看 threads (线程数) 或 nettyThreads

4. MQ 连接数 (RocketMQ/Kafka/RedisStream)

代码中出现了 RedisStreamPushHandler,表明项目可能使用 Redis Stream 作为轻量级 MQ,但也可能同时使用了 RocketMQ。

  • 如何查找
    • RocketMQ
      • 搜索 rocketmq.producer.max-message-sizerocketmq.name-server 附近的配置。
      • 消费者线程:搜索 DefaultMQPushConsumer 的配置 Bean,查找 consumeThreadMinconsumeThreadMax 代码控制。
    • Redis Stream
      • 查看 RedisStreamPushHandler 类内部或其配置类。
      • 寻找线程池配置(如 ThreadPoolExecutor),通常业务会自定义一个线程池来消费消息。

5. Gateway 网关连接数

如果项目有独立的 damai-gateway 模块,它通常基于 Spring Cloud Gateway (底层是 Netty)。

  • 如何查找:前往 damai-gateway 模块下的 application.yml 查找。
  • 搜索关键词
    • reactor.netty.ioWorkerCount (默认为 CPU 核心数)
    • spring.cloud.gateway.httpclient.pool.max-connections

🚀 快速操作建议

你可以直接在 IDEA 中按 Ctrl + Shift + F (全局搜索),输入以下高频命中字符串来快速定位:

  • max-threads (Tomcat 相关)
  • max-active (DB/Redis 连接池相关)
  • maximum-pool-size (HikariCP 相关)
  • ThreadPoolExecutor (查看自定义业务线程池,如代码中的 BusinessThreadPool)

💡 补充说明:业务线程池

在你当前的 ProgramService.java 中,可以看到 BusinessThreadPool.execute(...) 的调用。

  • 建议操作:按住 Ctrl 点击 BusinessThreadPool 类。
  • 关注点:查看其中定义的 corePoolSize (核心线程数) 和 maximumPoolSize (最大线程数)。这是业务处理的自定义线程池参数,对并发性能影响也非常大。